52. 追踪(Tracing)

对于所有的HTTP请求Spring Boot自动启用追踪,你可以查看trace端点获取最近100条请求的基本信息:

[{
    "timestamp": 1394343677415,
    "info": {
        "method": "GET",
        "path": "/trace",
        "headers": {
            "request": {
                "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
                "Connection": "keep-alive",
                "Accept-Encoding": "gzip, deflate",
                "User-Agent": "Mozilla/5.0 Gecko/Firefox",
                "Accept-Language": "en-US,en;q=0.5",
                "Cookie": "_ga=GA1.1.827067509.1390890128; ..."
                "Authorization": "Basic ...",
                "Host": "localhost:8080"
            },
            "response": {
                "Strict-Transport-Security": "max-age=31536000 ; includeSubDomains",
                "X-Application-Context": "application:8080",
                "Content-Type": "application/json;charset=UTF-8",
                "status": "200"
            }
        }
    }
},{
    "timestamp": 1394343684465,
    ...
}]

52.1 自定义追踪

如果需要追踪其他事件,你可以注入TraceRepository到你的Spring Beans中,add方法接收一个Map结构的参数,该数据将转换为JSON并被记录下来。

默认使用InMemoryTraceRepository存储最新的100个事件,如果需要扩充容量,你可以定义自己的InMemoryTraceRepository实例,甚至创建自己的TraceRepository实现。

52.1 自定义追踪

如果需要追踪其他事件,你可以注入TraceRepository到你的Spring Beans中,add方法接收一个Map结构的参数,该数据将转换为JSON并被记录下来。

默认使用InMemoryTraceRepository存储最新的100个事件,如果需要扩充容量,你可以定义自己的InMemoryTraceRepository实例,甚至创建自己的TraceRepository实现。